package com.mephi.oshs.view.elements;

import com.mephi.oshs.model.Value;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;

import java.util.Map;

public class AttributesTable implements IAttributesTable {

    private final Table table;

    public AttributesTable(Table table) {
        this.table = table;
    }


    @Override
    public void setTable(Map<String, Value> attributes) {

        // Отключаем перерисовку, пока будем добавлять новые элементы.
        table.setRedraw(false);

        // Удаляем старые атрибуты.
        table.removeAll();

        for (final Map.Entry<String, Value> entry : attributes.entrySet()) {
            final TableItem item = new TableItem(table, SWT.NONE);
            item.setText(0, entry.getKey());
            item.setText(1, entry.getValue().getType().toString());
            item.setText(2, entry.getValue().getValue().toString());
        }

        // Включаем перерисовку после добавления новых элементов.
        table.setRedraw(true);
    }
}
